home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean TBOOLEAN001(1)
- Boolean TBOOLEAN002(1)
- Boolean TBOOLEAN003(1)
- Boolean BOOLEAN004
- Boolean BOOLEAN005
- Boolean BOOLEAN006
- Boolean TBOOLEAN007(1)
- DWord DWORD001
- DWord DWORD002
- Integer TINTEGER001(1)
- Integer INTEGER002
- Integer INTEGER003
- String TSTRING001(14)
- String STRING002
- String STRING003
- String STRING004
- String TSTRING005(1)
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
- String STRING012
- String TSTRING014(2)
- String TSTRING016(2)
- String STRING024
- Byte TBYTE001(1,1,255)
- Int TINT001(1,1)
- Int TINT002(1)
- Int TINT003(1)
- Int TINT004(1)
- Int TINT005(1)
- Int TINT006(1)
- Int TINT007(1)
- Int INT008
- Int INT009
- Int INT010
- Int INT011
- Int INT012
- Int INT013
- Int INT014
- Int INT015
- Int INT016
- Int INT017
- Int INT018
- Int INT019
- Int INT020
- Int INT021
- Int INT022
- Int INT026
- Int INT027
- Int INT028
- Int INT030
- Int INT032
- Int INT033
- Int INT034
- Int INT035
- Int INT037
- Int INT038
- Int INT045
- Int INT046
- Int INT047
- Int INT048
- Int INT050
- Declare Function FUNCTION001() DWord
- Declare Function FUNCTION002(String STRING013, Int INT042, Int INT043, Int INT044) Integer
- Declare Procedure PROC001()
- Declare Procedure PROC003(Int INT029)
- Declare Procedure PROC004(Int INT031)
- Declare Procedure PROC005()
- Declare Procedure PROC006(Int INT036)
- Declare Procedure PROC007(Int INT039, Int INT040, Int INT041)
- Declare Procedure PROC008()
- Declare Procedure PROC009(Integer INTEGER004)
- Declare Procedure PROC010(Integer INTEGER005)
- Declare Procedure PROC011()
- Declare Procedure PROC012()
- Declare Procedure PROC013(String STRING015)
- Declare Procedure PROC014(Integer INTEGER006, Integer INTEGER007)
- Declare Procedure PROC015(Int INT049, String STRING017, String STRING018, String STRING019, String STRING020, String STRING021, String STRING022, Boolean BOOLEAN008, String STRING023)
-
- ;------------------------------------------------------------------------------
-
- FOpen 1, PPEPath() + "NIBBLES.CFG", 0, 0
- FGet 1, STRING003
- Tokenize STRING003
- If ((Time() >= ToTime(GetToken())) && (Time() <= ToTime(GetToken()))) BOOLEAN006 = 1
- For INT013 = 1 To 14
- FGet 1, TSTRING001(INT013)
- Next
- FGet 1, STRING007
- FGet 1, INT017
- FGet 1, INT018
- FGet 1, TINT006(0)
- FGet 1, TINT006(1)
- FGet 1, INT019
- FGet 1, INT020
- FGet 1, INT021
- FGet 1, STRING008
- FGet 1, STRING009
- FGet 1, INT022
- FGet 1, STRING010
- FClose 1
- INT013 = FUNCTION002("PLAYERS", 10, 2, 1)
- If (INT013 == 0) PROC008()
- INT010 = INT013
- If (INT010 == 2) Then
- TSTRING005(0) = STRING010
- TSTRING005(1) = PCBMac("@USER@")
- Else
- TSTRING005(0) = PCBMac("@USER@")
- Endif
- INT012 = 1
- TINT007(0) = 3
- TINT007(1) = 3
- INT013 = FUNCTION002("LEVEL", 5, 14, INT022)
- If (INT013 == 0) PROC008()
- INT016 = INT013
- INT009 = 14 - INT013
- If (INT010 == 2) Then
- Color 15
- Cls
- StartDisp 1
- DispFile PPEPath() + "PAGING", 1 + 4
- STRING003 = "User : " + Trim(U_Name(), " ") + ", Level : " + TSTRING001(INT016)
- AnsiPos 40 - Len(STRING003) / 2, 15
- Color 15
- SPrint STRING003
- AnsiPos 1, 11
- For INT013 = 1 To 79
- STRING002 = KInkey()
- If (STRING002 == " ") Goto LABEL001
- If (STRING002 == "") Break
- STRING002 = MInkey()
- If (STRING002 == "") PROC008()
- AnsiPos INT013, 11
- Print "@X07▒"
- Delay 1
- If (BOOLEAN006) Then
- If (ToReal(INT013) / 2 == INT013 / 2) Then
- Sound 2000
- Delay 1
- Sound 5000
- Delay 1
- Sound 0
- Endif
- Continue
- Endif
- Color 15
- AnsiPos 1, 16
- For INT014 = 1 To 6
- SPrintLn "███████████████████████████████████████████████████████████████████████████████"
- Next
- AnsiPos INT013 + 1, 11
- Delay 2
- AnsiPos 1, 16
- For INT014 = 1 To 6
- SPrintLn " "
- Next
- Next
- Color 15
- Cls
- StartDisp 1
- DispFile PPEPath() + "BUSY", 1 + 4
- Wait
- PROC008()
- :LABEL001
- Color 15
- Cls
- StartDisp 1
- DispFile PPEPath() + "SYSOPOK", 1 + 4
- Delay 30
- Endif
- DWORD001 = FUNCTION001()
- While (DWORD001 == FUNCTION001()) Do
- EndWhile
- DWORD001 = FUNCTION001()
- While (FUNCTION001() < DWORD001 + 4) Do
- Inc INTEGER002
- EndWhile
- INTEGER002 = INTEGER002 / 4
- StartDisp 1
- PROC003(INT012)
- :LABEL002
- PROC014(0, 0)
- If (INT010 == 2) PROC014(1, 0)
- PROC012()
- While (1) Do
- PROC004(INT009)
- PROC001()
- If (BOOLEAN005) Then
- PROC005()
- BOOLEAN005 = 0
- Endif
- If (BOOLEAN004) Then
- AnsiPos 1, 1
- If (TBOOLEAN002(0) && !TBOOLEAN002(1)) Then
- If (INT010 == 2) Then
- PROC013("Level complete by " + TSTRING005(0))
- Goto LABEL003
- Endif
- PROC013("Level complete!")
- :LABEL003
- PROC014(0, 1000 * (INT012 * 5))
- Goto LABEL004
- Endif
- If (!TBOOLEAN002(0) && TBOOLEAN002(1)) Then
- PROC013("Level complete by " + TSTRING005(1))
- PROC014(1, 1000 * (INT012 * 5))
- Goto LABEL004
- Endif
- If (TBOOLEAN002(0) && TBOOLEAN002(1)) Then
- PROC013("Level complete by both players!")
- PROC014(1, 1000 * (INT012 * 5))
- PROC014(0, 1000 * (INT012 * 5))
- Endif
- :LABEL004
- If (!TBOOLEAN001(0) && TBOOLEAN001(1)) Then
- Dec TINT007(0)
- If (TINT007(0)) Then
- If (INT010 == 2) Then
- If (TINT007(0) > 1) Then
- PROC013(TSTRING005(0) + " crashed! " + String(TINT007(0)) + " lives left...")
- Goto LABEL005
- Endif
- PROC013(TSTRING005(0) + " crashed! " + String(TINT007(0)) + " life left...")
- :LABEL005
- Goto LABEL006
- Endif
- If (TINT007(0) > 1) Then
- PROC013("You crashed! " + String(TINT007(0)) + " lives left...")
- Goto LABEL006
- Endif
- PROC013("You crashed! " + String(TINT007(0)) + " life left...")
- :LABEL006
- PROC003(INT012)
- Goto LABEL002
- Goto LABEL008
- Endif
- If (INT010 == 2) Then
- PROC013(TSTRING005(0) + " crashed! Game over...")
- Goto LABEL007
- Endif
- PROC013("You crashed! Game over...")
- :LABEL007
- Goto LABEL011
- Endif
- :LABEL008
- If (!TBOOLEAN001(1) && TBOOLEAN001(0)) Then
- Dec TINT007(1)
- If (TINT007(1)) Then
- If (TINT007(1) > 1) Then
- PROC013(TSTRING005(1) + " crashed! " + String(TINT007(1)) + " lives left...")
- Goto LABEL009
- Endif
- PROC013(TSTRING005(1) + " crashed! " + String(TINT007(1)) + " life left...")
- :LABEL009
- PROC003(INT012)
- Goto LABEL002
- Goto LABEL010
- Endif
- PROC013(TSTRING005(1) + " crashed! Game over...")
- Goto LABEL011
- Endif
- :LABEL010
- If (TBOOLEAN002(0) || TBOOLEAN002(1)) Then
- Inc INT012
- PROC003(INT012)
- Goto LABEL002
- Endif
- End
- Endif
- For INT008 = 0 To INT010 - 1
- If (INT010 == 2) Then
- If (INT008 == 0) Then
- If (!TBOOLEAN003(INT008)) STRING002 = KInkey()
- Else
- If (!TBOOLEAN003(INT008)) STRING002 = MInkey()
- Endif
- Else
- If (!TBOOLEAN003(INT008)) STRING002 = Inkey()
- Endif
- If (STRING002 == "") Continue
- If ((((STRING002 == "UP") || (STRING002 == "8")) || (STRING002 == "Z")) || (STRING002 == "z")) Then
- If (TINT002(INT008) <> 3) TINT002(INT008) = 1
- TBOOLEAN003(INT008) = 1
- Continue
- Endif
- If ((((STRING002 == "RIGHT") || (STRING002 == "6")) || (STRING002 == "D")) || (STRING002 == "d")) Then
- If (TINT002(INT008) <> 4) TINT002(INT008) = 2
- TBOOLEAN003(INT008) = 1
- Continue
- Endif
- If (((((STRING002 == "DOWN") || (STRING002 == "2")) || (STRING002 == "5")) || (STRING002 == "S")) || (STRING002 == "s")) Then
- If (TINT002(INT008) <> 1) TINT002(INT008) = 3
- TBOOLEAN003(INT008) = 1
- Continue
- Endif
- If ((((STRING002 == "LEFT") || (STRING002 == "4")) || (STRING002 == "Q")) || (STRING002 == "q")) Then
- If (TINT002(INT008) <> 2) TINT002(INT008) = 4
- TBOOLEAN003(INT008) = 1
- Endif
- Next
- EndWhile
- Goto LABEL012
- :LABEL011
- If (INT010 == 1) Then
- PROC015(0, "BLT1.DAT", "BLT1_1.", "BLT1_2.", "BLT1.PCB", "INTOP.1", "BEST.1", 1, U_Name())
- Else
- PROC015(0, "BLT2.DAT", "BLT2_1.", "BLT2_2.", "BLT2.PCB", "INTOP1.2", "BEST1.2", 0, STRING010)
- PROC015(1, "BLT2.DAT", "BLT2_1.", "BLT2_2.", "BLT2.PCB", "INTOP2.2", "BEST2.2", 1, U_Name())
- Endif
- PROC008()
- :LABEL012
- End
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC001()
-
- Int INT023
- Int INT024
- Int INT025
- String STRING011
- Real REAL001
-
- For INT023 = 0 To INT010 - 1
- TBOOLEAN003(INT023) = 0
- PROC014(INT023, -1 * INT012)
- Select Case (TINT002(INT023))
- Case 1
- Dec TINT001(INT023, 1)
- Case 2
- Inc TINT001(INT023, 0)
- Case 3
- Inc TINT001(INT023, 1)
- Case 4
- Dec TINT001(INT023, 0)
- End Select
- TBYTE001(INT023, 0, TINT005(INT023)) = TINT001(INT023, 0)
- TBYTE001(INT023, 1, TINT005(INT023)) = TINT001(INT023, 1)
- REAL001 = TINT001(INT023, 1)
- STRING003 = ScrText(TINT001(INT023, 0), TINT001(INT023, 1) / 2, 1, 0)
- If ((Asc(STRING003) >= 49) && (Asc(STRING003) <= 57)) Then
- PROC014(INT023, 10 * (INT012 * 5 + Asc(STRING003) * 5))
- If (INT011 == 10) Then
- BOOLEAN004 = 1
- TBOOLEAN002(INT023) = 1
- Endif
- TINT004(INT023) = TINT004(INT023) + (S2I(STRING003, 10) + 1) * 2
- If (TINT004(INT023) > 250) TINT004(INT023) = 250
- PROC006(INT011)
- Inc INT011
- Endif
- STRING011 = ScrText(TINT001(INT023, 0), TINT001(INT023, 1) / 2, 1, 1)
- INT024 = S2I(Mid(STRING011, 3, 1), 16)
- INT025 = S2I(Mid(STRING011, 4, 1), 16)
- STRING011 = Right(STRING011, 1)
- AnsiPos TINT001(INT023, 0), TINT001(INT023, 1) / 2
- If (STRING003 == "■") Then
- TINT004(INT023) = TINT004(INT023) + 20
- If (TINT004(INT023) > 250) TINT004(INT023) = 250
- BOOLEAN005 = 1
- Endif
- If (InStr(String(REAL001 / 2), ".") || InStr(String(REAL001 / 2), ",")) Then
- If (((STRING003 == "█") || (STRING003 == "▄")) || ((STRING003 == "▀") && (INT024 <> INT017))) Goto LABEL016
- If (STRING003 == "▀") Then
- If (INT025 <> And(TINT006(INT023), 15)) Then
- Color INT025 * 16 - 128 + And(TINT006(INT023), 15)
- Print "▄"
- Else
- Color TINT006(INT023)
- Print "█"
- Endif
- Else
- Color TINT006(INT023)
- Print "▄"
- Endif
- Else
- If (((STRING003 == "█") || (STRING003 == "▀")) || ((STRING003 == "▄") && (INT024 <> INT017))) Goto LABEL016
- If (STRING003 == "▄") Then
- If (INT025 <> And(TINT006(INT023), 15)) Then
- Color INT025 * 16 - 128 + And(TINT006(INT023), 15)
- Print "▀"
- Else
- Color TINT006(INT023)
- Print "█"
- Endif
- Else
- Color TINT006(INT023)
- Print "▀"
- Endif
- Endif
- Inc TINT005(INT023)
- Inc TINT003(INT023)
- TINT005(INT023) = TINT005(INT023) % 256
- If (TINT003(INT023) > TINT004(INT023)) Then
- Dec TINT003(INT023)
- REAL001 = ToInt(TINT005(INT023)) - TINT004(INT023) - 1
- If (REAL001 < 0) Then
- REAL001 = 256 + REAL001
- Endif
- STRING011 = ScrText(TBYTE001(INT023, 0, REAL001), TBYTE001(INT023, 1, REAL001) / 2, 1, 1)
- INT024 = S2I(Mid(STRING011, 3, 1), 16)
- INT025 = S2I(Mid(STRING011, 4, 1), 16)
- STRING011 = Right(STRING011, 1)
- AnsiPos TBYTE001(INT023, 0, REAL001), TBYTE001(INT023, 1, REAL001) / 2
- STRING003 = ScrText(TBYTE001(INT023, 0, REAL001), TBYTE001(INT023, 1, REAL001) / 2, 1, 0)
- REAL001 = TBYTE001(INT023, 1, REAL001)
- If (INT024 <> INT017) Then
- Color INT017 * 16 + INT024 + 8
- If (InStr(String(REAL001 / 2), ".") || InStr(String(REAL001 / 2), ",")) Then
- Print "▀"
- Goto LABEL013
- Endif
- Print "▄"
- :LABEL013
- Goto LABEL015
- Endif
- Color TINT006(INT023)
- If (InStr(String(REAL001 / 2), ".") || InStr(String(REAL001 / 2), ",")) Then
- If (STRING003 == "█") Then
- Print "▀"
- Goto LABEL014
- Endif
- Print " "
- :LABEL014
- Goto LABEL015
- Endif
- If (STRING003 == "█") Then
- Print "▄"
- Goto LABEL015
- Endif
- Print " "
- Endif
- :LABEL015
- Continue
- :LABEL016
- TBOOLEAN001(INT023) = 0
- BOOLEAN004 = 1
- Next
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Function FUNCTION001() DWord
-
- FUNCTION001 = PeekDW(MkAddr(64, 108))
-
- EndFunc
-
- INT026 = GetX()
- INT027 = GetY()
- INT028 = CurColor()
- AnsiPos 1, 1
- Print "@X0F" + "", " "
- AnsiPos INT026, INT027
- Color INT028
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC003(Int INT029)
-
- Int INT030
-
- Color 15
- Cls
- AnsiPos 1, 1
- Color INT017 * 16 + INT018
- PrintLn "█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█"
- For INT030 = 1 To 20
- PrintLn "█ █"
- Next
- PrintLn "█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
- AnsiPos 36, 23
- Print STRING008 + "LEVEL " + String(INT012)
- TBOOLEAN001(0) = 1
- TBOOLEAN001(1) = 1
- TBOOLEAN002(0) = 0
- TBOOLEAN002(1) = 0
- BOOLEAN004 = 0
- INT011 = 2
- TINT004(0) = 5
- TINT004(1) = 5
- TINT005(0) = 0
- TINT005(1) = 0
- TINT003(0) = 0
- TINT003(1) = 0
- TBOOLEAN003(0) = 0
- TBOOLEAN003(1) = 0
- BOOLEAN005 = 0
- Select Case (INT029)
- Case 1
- TINT001(0, 0) = 45
- TINT001(0, 1) = 25
- TINT002(0) = 2
- TINT001(1, 0) = 34
- TINT001(1, 1) = 25
- TINT002(1) = 4
- For INT030 = 1 To 2
- PROC005()
- Next
- PROC006(INT011 - 1)
- Case 2
- For INT030 = 20 To 60
- PROC007(25, INT030, INT017 * 16 + INT019)
- Next
- For INT030 = 1 To 4
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 45
- TINT001(0, 1) = 23
- TINT002(0) = 2
- TINT001(1, 0) = 34
- TINT001(1, 1) = 27
- TINT002(1) = 4
- Case 3
- For INT030 = 9 To 39
- PROC007(INT030, 19, INT017 * 16 + INT019)
- PROC007(INT030, 59, INT017 * 16 + INT019)
- Next
- For INT030 = 1 To 6
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 45
- TINT001(0, 1) = 24
- TINT002(0) = 1
- TINT001(1, 0) = 34
- TINT001(1, 1) = 23
- TINT002(1) = 3
- Case 4
- For INT030 = 4 To 25
- PROC007(INT030, 19, INT017 * 16 + INT019)
- PROC007(47 - INT030, 60, INT017 * 16 + INT019)
- Next
- For INT030 = 3 To 40
- PROC007(35, INT030, INT017 * 16 + INT019)
- PROC007(12, 79 - INT030, INT017 * 16 + INT019)
- Next
- For INT030 = 1 To 6
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 45
- TINT001(0, 1) = 24
- TINT002(0) = 2
- TINT001(1, 0) = 34
- TINT001(1, 1) = 23
- TINT002(1) = 4
- Case 5
- For INT030 = 12 To 36
- PROC007(INT030, 20, INT017 * 16 + INT019)
- PROC007(INT030, 59, INT017 * 16 + INT019)
- Next
- For INT030 = 23 To 56
- PROC007(9, INT030, INT017 * 16 + INT019)
- PROC007(39, INT030, INT017 * 16 + INT019)
- Next
- For INT030 = 1 To 8
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 45
- TINT001(0, 1) = 23
- TINT002(0) = 2
- TINT001(1, 0) = 34
- TINT001(1, 1) = 23
- TINT002(1) = 4
- Case 6
- For INT030 = 4 To 43
- If ((INT030 > 26) || (INT030 < 20)) Then
- PROC007(INT030, 10, INT017 * 16 + INT019)
- PROC007(INT030, 20, INT017 * 16 + INT019)
- PROC007(INT030, 30, INT017 * 16 + INT019)
- PROC007(INT030, 40, INT017 * 16 + INT019)
- PROC007(INT030, 50, INT017 * 16 + INT019)
- PROC007(INT030, 60, INT017 * 16 + INT019)
- PROC007(INT030, 70, INT017 * 16 + INT019)
- Endif
- Next
- For INT030 = 1 To 8
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 45
- TINT001(0, 1) = 23
- TINT002(0) = 2
- TINT001(1, 0) = 34
- TINT001(1, 1) = 23
- TINT002(1) = 4
- Case 7
- For INT030 = 4 To 24 Step 2
- PROC007(INT030, 39, INT017 * 16 + INT019)
- Next
- For INT030 = 25 To 43 Step 2
- PROC007(INT030, 39, INT017 * 16 + INT019)
- Next
- For INT030 = 1 To 8
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 45
- TINT001(0, 1) = 23
- TINT002(0) = 2
- TINT001(1, 0) = 34
- TINT001(1, 1) = 23
- TINT002(1) = 4
- Case 8
- For INT030 = 4 To 35
- PROC007(INT030, 9, INT017 * 16 + INT019)
- PROC007(47 - INT030, 19, INT017 * 16 + INT019)
- PROC007(INT030, 29, INT017 * 16 + INT019)
- PROC007(47 - INT030, 39, INT017 * 16 + INT019)
- PROC007(INT030, 49, INT017 * 16 + INT019)
- PROC007(47 - INT030, 59, INT017 * 16 + INT019)
- PROC007(INT030, 70, INT017 * 16 + INT019)
- Next
- For INT030 = 1 To 8
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 45
- TINT001(0, 1) = 23
- TINT002(0) = 1
- TINT001(1, 0) = 33
- TINT001(1, 1) = 24
- TINT002(1) = 3
- Case 9
- For INT030 = 6 To 41
- PROC007(INT030, INT030 + 2, INT017 * 16 + INT019)
- PROC007(INT030, INT030 + 30, INT017 * 16 + INT019)
- Next
- For INT030 = 1 To 8
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 46
- TINT001(0, 1) = 10
- TINT002(0) = 2
- TINT001(1, 0) = 33
- TINT001(1, 1) = 40
- TINT002(1) = 4
- Case Else
- For INT030 = 4 To 43 Step 2
- PROC007(INT030, 9, INT017 * 16 + INT019)
- PROC007(INT030 + 1, 19, INT017 * 16 + INT019)
- PROC007(INT030, 29, INT017 * 16 + INT019)
- PROC007(INT030, 50, INT017 * 16 + INT019)
- PROC007(INT030 + 1, 60, INT017 * 16 + INT019)
- PROC007(INT030, 70, INT017 * 16 + INT019)
- Next
- For INT030 = 1 To 12
- PROC005()
- Next
- PROC006(INT011 - 1)
- TINT001(0, 0) = 75
- TINT001(0, 1) = 5
- TINT002(0) = 3
- TINT001(1, 0) = 5
- TINT001(1, 1) = 42
- TINT002(1) = 1
- End Select
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC004(Int INT031)
-
- Int INT032
- Int INT033
-
- INT033 = (INTEGER002 / 10) * INT031
- For INT032 = 1 To INT033
- Next
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC005()
-
- Int INT034
- Int INT035
-
- While (1) Do
- INT034 = Random(78)
- INT035 = Random(22)
- If (ScrText(INT034, INT035, 1, 0) == " ") Break
- EndWhile
- AnsiPos INT034, INT035
- Color INT017 * 16 + INT020
- Print "■"
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC006(Int INT036)
-
- Int INT037
- Int INT038
-
- If (INT036 > 9) Goto LABEL017
- While (1) Do
- INT037 = Random(76) + 1
- INT038 = Random(21) + 1
- If (ScrText(INT037, INT038, 1, 0) == " ") Break
- EndWhile
- AnsiPos INT037, INT038
- Color INT017 * 16 + INT021
- Print String(INT036)
- :LABEL017
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC007(Int INT039, Int INT040, Int INT041)
-
- String STRING012
-
- AnsiPos INT040, INT039 / 2
- Color INT041
- STRING012 = ScrText(INT040, INT039 / 2, 1, 0)
- If (InStr(String(ToReal(INT039) / 2), ",") || InStr(String(ToReal(INT039) / 2), ".")) Then
- If (STRING012 == "▀") Then
- Print "█"
- Else
- Print "▄"
- Endif
- ElseIf (STRING012 == "▄") Then
- Print "█"
- Else
- Print "▀"
- Endif
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC008()
-
- Color 15
- Cls
- AnsiPos 28, 11
- Color 8
- Gosub LABEL019
- Color 7
- Gosub LABEL019
- Color 15
- Gosub LABEL019
- Color 7
- Gosub LABEL019
- Color 8
- Gosub LABEL019
- Color 15
- Print " "
- AnsiPos 33, 11
- Color 8
- Gosub LABEL018
- Color 7
- Gosub LABEL018
- Color 15
- Gosub LABEL018
- Color 7
- Gosub LABEL018
- Color 8
- Gosub LABEL018
- Color 15
- Print " "
- Goto LABEL020
- :LABEL018
- Print "<┤EGiS CoRP'95"
- Delay 2
- Backup 14
- Return
- :LABEL019
- Print "Code by Lone Runner/AGS"
- Delay 2
- Backup 23
- Return
- :LABEL020
- AnsiPos 1, 1
- End
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Function FUNCTION002(String STRING013, Int INT042, Int INT043, Int INT044) Integer
-
- Int INT045
- Integer INTEGER004
-
- INT045 = INT044
- INT015 = INT042
- Color 15
- Cls
- StartDisp 1
- DispFile PPEPath() + STRING013, 1 + 4
- PROC009(INT045)
- While (1) Do
- STRING002 = Inkey()
- If (STRING002 <> "") Then
- If (((STRING002 == "DOWN") || (STRING002 == "2")) || (STRING002 == "5")) Then
- PROC010(INT045)
- INT045 = INT045 + 1
- If (INT045 == INT043 + 1) INT045 = 1
- PROC009(INT045)
- Continue
- Endif
- If ((STRING002 == "UP") || (STRING002 == "8")) Then
- PROC010(INT045)
- INT045 = INT045 - 1
- If (INT045 == 0) INT045 = INT043
- PROC009(INT045)
- Continue
- Endif
- If (STRING002 == Chr(13)) Then
- FUNCTION002 = INT045
- Break
- Continue
- Endif
- If (STRING002 == Chr(27)) Then
- FUNCTION002 = 0
- Break
- Endif
- Endif
- EndWhile
-
- EndFunc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC009(Integer INTEGER004)
-
- AnsiPos 22, INT015 + INTEGER004 - 1
- STRING006 = ScrText(22, INT015 + INTEGER004 - 1, 36, 1)
- Print "@X1F", ScrText(22, INT015 + INTEGER004 - 1, 36, 0)
- PROC011()
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC010(Integer INTEGER005)
-
- AnsiPos 22, INT015 + INTEGER005 - 1
- Print "@X0F", STRING006
- PROC011()
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC011()
-
- AnsiPos 1, 22
- Color 0
- Print " "
- Backup 1
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC012()
-
- String TSTRING014(2)
- Boolean TBOOLEAN007(1)
-
- While (Inkey() <> "") Do
- EndWhile
- TBOOLEAN007(0) = 0
- TBOOLEAN007(1) = 0
- For INT013 = 11 To 13
- TSTRING014(INT013 - 11) = ScrText(1, INT013, 79, 1)
- Next
- If (INT010 == 2) Then
- Print STRING007
- AnsiPos 5, 11
- Print "█▀ User ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█"
- AnsiPos 5, 12
- Print "█ Press a key when ready ! █"
- AnsiPos 5, 13
- Print "█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
- AnsiPos 45, 11
- Print "█▀ Sysop ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█"
- AnsiPos 45, 12
- Print "█ Press a key when ready ! █"
- AnsiPos 45, 13
- Print "█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
- Else
- Print STRING007
- AnsiPos 25, 11
- Print "█▀ User ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█"
- AnsiPos 25, 12
- Print "█ Press a key when ready ! █"
- AnsiPos 25, 13
- Print "█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
- Endif
- While (1) Do
- If ((((INT010 == 2) && TBOOLEAN007(0)) && TBOOLEAN007(1)) || ((INT010 == 1) && TBOOLEAN007(0))) Break
- If (INT010 == 2) Then
- STRING002 = KInkey()
- Else
- STRING002 = Inkey()
- Endif
- If ((STRING002 <> "") && !TBOOLEAN007(0)) Then
- If (INT010 == 2) Then
- Print STRING007
- AnsiPos 45, 11
- Print "█▀ Sysop ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█"
- AnsiPos 45, 12
- Print "█ READY!! █"
- AnsiPos 45, 13
- Print "█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
- TBOOLEAN007(0) = 1
- Goto LABEL021
- Endif
- Print STRING007
- AnsiPos 25, 11
- Print "█▀ User ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█"
- AnsiPos 25, 12
- Print "█ READY!! █"
- AnsiPos 25, 13
- Print "█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
- TBOOLEAN007(0) = 1
- Endif
- :LABEL021
- If (INT010 == 2) Then
- STRING002 = MInkey()
- If ((STRING002 <> "") && !TBOOLEAN007(1)) Then
- Print STRING007
- AnsiPos 5, 11
- Print "█▀ User ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█"
- AnsiPos 5, 12
- Print "█ READY!! █"
- AnsiPos 5, 13
- Print "█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
- TBOOLEAN007(1) = 1
- Endif
- Endif
- EndWhile
- Delay 18
- For INT013 = 11 To 13
- AnsiPos 1, INT013
- PrintLn TSTRING014(INT013 - 11)
- Next
- AnsiPos 1, 23
- While (OutBytes() > 0) Do
- EndWhile
- Delay 18
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC013(String STRING015)
-
- String TSTRING016(2)
-
- While (Inkey() <> "") Do
- EndWhile
- For INT013 = 11 To 13
- TSTRING016(INT013 - 11) = ScrText(1, INT013, 79, 1)
- Next
- Print STRING007
- AnsiPos 5, 11
- Print "█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█"
- AnsiPos 5, 12
- Print "█ █"
- AnsiPos 5, 13
- Print "█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
- AnsiPos 40 - Len(STRING015) / 2, 12
- Print STRING015
- While (Inkey() == "") Do
- EndWhile
- For INT013 = 11 To 13
- AnsiPos 1, INT013
- PrintLn TSTRING016(INT013 - 11)
- Next
- While (OutBytes() > 0) Do
- EndWhile
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC014(Integer INTEGER006, Integer INTEGER007)
-
- Int INT046
- Int INT047
- Int INT048
-
- TINTEGER001(INTEGER006) = TINTEGER001(INTEGER006) + INTEGER007
- INT048 = CurColor()
- INT046 = GetX()
- INT047 = GetY()
- If (INTEGER006 == 1) Then
- AnsiPos 1, 23
- Print STRING008 + String(TINTEGER001(INTEGER006))
- Else
- AnsiPos 79 - Len(String(TINTEGER001(INTEGER006))), 23
- Print STRING008 + String(TINTEGER001(INTEGER006))
- Endif
- AnsiPos INT046, INT047
- Color INT048
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC015(Int INT049, String STRING017, String STRING018, String STRING019, String STRING020, String STRING021, String STRING022, Boolean BOOLEAN008, String STRING023)
-
- Int INT050
- String STRING024
-
- STRING024 = "TMPBUL." + String(PcbNode())
- FOpen 1, PPEPath() + STRING017, 0, 0
- For INT013 = 1 To 10
- FGet 1, STRING003
- Tokenize STRING003
- For INT014 = 1 To 4
- STRING003 = GetToken()
- Next
- If (ToInteger(STRING003) < TINTEGER001(INT049)) Goto LABEL022
- Next
- FClose 1
- Goto LABEL027
- :LABEL022
- INT050 = INT013
- FClose 1
- FCreate 2, PPEPath() + STRING024, 1, 0
- FOpen 1, PPEPath() + STRING017, 0, 0
- For INT014 = 1 To 10
- If (INT014 == INT013) Then
- FPutLn 2, Mixed(Replace(Replace(STRING023, " ", Chr(255)), ";", ":")) + ";" + TSTRING001(INT016) + ";" + String(INT012) + ";" + String(TINTEGER001(INT049))
- Continue
- Endif
- FGet 1, STRING003
- FPutLn 2, STRING003
- Next
- FPutLn 2, "---"
- FPutLn 2, "WARNING: If you edit this file, don't forget to replace"
- FPutLn 2, "ALL SPACES WITH CHR(225)'s or the score feature will NOT WORK AT ALL!!"
- FCloseAll
- Delete PPEPath() + STRING017
- Rename PPEPath() + STRING024, PPEPath() + STRING017
- FOpen 1, PPEPath() + STRING017, 0, 0
- FCreate 2, PPEPath() + STRING024, 1, 0
- FOpen 3, PPEPath() + STRING018, 0, 0
- FOpen 4, PPEPath() + STRING019, 0, 0
- FGet 3, STRING003
- :LABEL023
- If (Ferr(3)) Goto LABEL024
- FPutLn 2, STRING003
- FGet 3, STRING003
- Goto LABEL023
- :LABEL024
- FPutLn 2
- For INT013 = 1 To 10
- FGet 1, STRING003
- Tokenize STRING003
- STRING003 = Space(5) + Mixed(GetToken())
- STRING003 = STRING003 + Space(37 - Len(STRING003)) + GetToken()
- STRING004 = GetToken()
- STRING003 = STRING003 + Space(58 - Len(STRING003)) + Space(3 - Len(STRING004)) + STRING004
- STRING004 = GetToken()
- STRING003 = STRING003 + Space(67 - Len(STRING003)) + Space(9 - Len(STRING004)) + STRING004
- FPutLn 2, STRING009 + STRING003
- Next
- FPutLn 2
- FGet 4, STRING003
- :LABEL025
- If (Ferr(4)) Goto LABEL026
- FPutLn 2, STRING003
- FGet 4, STRING003
- Goto LABEL025
- :LABEL026
- FCloseAll
- If (Exist(PPEPath() + STRING020)) Delete PPEPath() + STRING020
- Rename PPEPath() + STRING024, PPEPath() + STRING020
- Color 15
- Cls
- If (INT050 == 1) Then
- DispFile PPEPath() + STRING022, 0
- Else
- DispFile PPEPath() + STRING021, 0
- Endif
- Wait
- :LABEL027
- If (BOOLEAN008) Then
- Color 15
- Cls
- DispFile PPEPath() + STRING020, 0
- Wait
- Endif
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 3 End
- ; 8 Cls
- ; 3 Wait
- ; 37 Color
- ; 252 Goto
- ; 251 Let
- ; 58 Print
- ; 5 PrintLn
- ; 153 If
- ; 7 DispFile
- ; 2 FCreate
- ; 6 FOpen
- ; 3 FClose
- ; 21 FGet
- ; 10 FPutLn
- ; 5 StartDisp
- ; 2 Delete
- ; 10 Gosub
- ; 2 Return
- ; 9 Delay
- ; 7 Inc
- ; 5 Dec
- ; 3 Tokenize
- ; 50 AnsiPos
- ; 3 Backup
- ; 3 Sound
- ; 1 SPrint
- ; 2 SPrintLn
- ; 2 Rename
- ; 2 FCloseAll
- ; 15 EndProc
- ; 2 EndFunc
- ;
- ;
- ; ■ Functions used :
- ;
- ; 1 -
- ; 55 *
- ; 22 /
- ; 1 %
- ; 171 +
- ; 41 -
- ; 82 ==
- ; 14 <>
- ; 42 <
- ; 40 <=
- ; 10 >
- ; 78 >=
- ; 135 !
- ; 90 &&
- ; 65 ||
- ; 8 Len(
- ; 4 Mid()
- ; 2 Right()
- ; 6 Space()
- ; 2 Ferr()
- ; 3 Chr()
- ; 3 Asc()
- ; 8 InStr()
- ; 1 Trim()
- ; 4 Random()
- ; 2 Time()
- ; 3 U_Name()
- ; 2 Replace()
- ; 6 Inkey()
- ; 22 String()
- ; 22 PPEPath()
- ; 1 PcbNode()
- ; 7 GetToken()
- ; 1 MkAddr()
- ; 1 Exist()
- ; 5 S2I()
- ; 2 GetX()
- ; 2 GetY()
- ; 4 And()
- ; 2 CurColor()
- ; 3 KInkey()
- ; 3 MInkey()
- ; 1 PeekDW()
- ; 11 ScrText()
- ; 1 ToInteger()
- ; 3 ToReal()
- ; 1 ToInt()
- ; 2 ToTime()
- ; 2 Mixed()
- ; 2 OutBytes()
- ; 2 PCBMac()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : p
- ;
- ; p - Peek in memory ■ 2
- ; Since a peek statement allows someone to read entire memory contents
- ; you may check this statement, however, this is usually not a risk
- ; ■ Search for : PEEK, PEEKW, PEEKDW
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 38 For/Next
- ; 12 While/EndWhile
- ; 61 If/Then or If/Then/Else
- ; 2 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-